package com.lagou.homework3.no3;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * 准备一个 HashMap 集合，统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。
 *  如：
 *         123 出现了 2 次
 *         456 出现了 2 次
 *         789 出现了 1 次
 */
public class MapTest {
    public static void main(String[] args) {
        //定义一个字符串
        String s1 = "123,456,789,123,456";
        //定义一个HashMap集合
        Map<String,Integer> m1 = new HashMap<>();
        //将字符串根据‘，’拆分成数组
        String[] s2 = s1.split(",");
        //循环数组
        for (String value:s2){
            //如果m1中已经包含了当前字符串为key的值，则取出值加1
            if(m1.containsKey(value)){
                int count = m1.get(value).intValue()+1;
                m1.put(value,count);
            }else{
                //如果当前m1中不包含当前字符串为key的值，则初始化赋值1
                m1.put(value,1);
            }
        }
        //打印结果
        Set set = m1.keySet();//返回此映射中包含的键的Set视图
        Iterator iter = set.iterator();
        while (iter.hasNext()) {
            String key = (String) iter.next();//获取所有的键值
            System.out.println("字符串"+key+"出现的次数是："+m1.get(key)+"次");
        }
    }
}
